package com.lin.controller;


import com.lin.entity.CarInformation;
import com.lin.service.CarInformationService;
import com.lin.vo.DataVO;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

/**
 * <p>
 * 汽车信息前端控制器
 * </p>
 *
 * @author 林伟鸿
 * @since 2021-11-24
 */
@RestController
@RequestMapping("/carInformation")
@CrossOrigin
@Slf4j
public class CarInformationController {

    @Autowired
    CarInformationService carInformationService;

    /**
     * 用户通过汽车Id查询汽车
     * @param page 页数
     * @param limit 条数
     * @param carId 汽车Id
     * @return 统一结果集DataVO
     */
    @GetMapping("/getCarById")
    public DataVO<CarInformation> getCarById(Integer page, Integer limit, String carId) {
        //sl4fj日志，方便后期查看日志
        log.info("****carId: " + carId);
        //调用service层查询结果集并返回
        return carInformationService.getCarById(Integer.parseInt(carId));

    }

    /**
     *
     * @param page 页数
     * @param limit 条数
     * @param brand 汽车品牌
     * @return 统一结果集DataVO
     */
    @GetMapping("/getCarsByBrand")
    public DataVO<CarInformation> getCarsByBrand(Integer page, Integer limit, String brand) {
        //sl4fj日志，方便后期查看日志
        log.info("*****brand: " + brand);
        //调用service层查询结果集并返回
        return carInformationService.getCarsByBrand(page, limit, brand);
    }

    /**
     * 用户通过价格区间查询车辆
     * @param page 页数
     * @param limit 条数
     * @param firstPrice 起始价格区间
     * @param lastPrice 终止价格区间
     * @return 统一结果集DataVO
     */
    @GetMapping("/getCarByPriceSection")
    public DataVO<CarInformation> getCarByPriceSection(Integer page, Integer limit, String firstPrice, String lastPrice) {
        //调用service层查询结果集并返回
        return carInformationService.getCarByPriceSection(page, limit, Integer.parseInt(firstPrice), Integer.parseInt(lastPrice));
    }

}

